﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace Cofe.Core.Logger
{
    public interface IEventSource : IDisposable 
    {
        CancellationToken CancellationToken { get; }
        IEnumerable<Type> SupportedEventType { get; }
    }

    public interface IEventSource<T> : IEventSource where T : EventArgs
    {
        bool IsEventEnabled { get; set; }
        event EventHandler<T> OnEvent;        
    }
}
